package cn.lxh.controller.remote;

import cn.dev33.satoken.annotation.SaIgnore;
import cn.lxh.constants.Constants;
import cn.lxh.pojo.domain.Login;
import cn.lxh.remote.api.LoginFeignApi;
import cn.lxh.remote.pojo.bo.CreateLoginBo;
import cn.lxh.result.JSONResult;
import cn.lxh.service.ILoginService;
import cn.lxh.utils.NameUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

/**
 * LoginFeignApiImpl控制层
 */
@RestController
public class LoginFeignApiImpl implements LoginFeignApi {

    @Autowired
    private ILoginService loginService;

    @Override
    @SaIgnore // 不做登录校验
    public JSONResult create(CreateLoginBo createLoginBo) {
        // 创建登录信息对象
        // Login login = new Login();
        // 将createLoginBo的属性值拷贝给login
        // BeanUtils.copyProperties(createLoginBo, login);
        Login login = CopyMapper.INSTANCE.convertToLogin(createLoginBo);
        // 设置登录信息默认值
        login.setAvatar(Constants.Login.HEADER_IMG);
        login.setCreateTime(new Date());
        login.setNickName(NameUtil.getName());
        // 将登录信息保存到数据库
        loginService.save(login);
        return JSONResult.success();
    }
}
